查看原文
其他

SPSS教程:两个有序分类变量的趋势性检验

豆沙包,张耀文 医咖会 2019-07-01

医咖会之前推送过一篇文章:Cochran-Armitage趋势检验,今天我们再来给大家介绍另外一种趋势性检验:Mantel-Haenszel卡方检验。这个方法用在什么场合,怎么用SPSS来操作,和Cochran-Armitage趋势检验又有什么区别,且看下文详解。

一、问题与数据

研究者想探索慢性疼痛症状数量与疼痛等级间的关系,从一家大型医院入院治疗慢性疼痛的病人中随机招募了364例研究对象。慢性疼痛综合症共有6种症状,研究者请研究对象报告其患有的症状。慢性疼痛门诊的医生使用疼痛量表对每个研究对象的疼痛进行评级。


研究对象自报的慢性疼痛症状数量在1-6之间,为有序分类变量,变量名为no_of_symptoms。医生将研究对象的疼痛分为四级:1级(轻度影响生活,轻度疼痛)、2级(轻度影响生活,高度疼痛)、3级(高度影响生活,疼痛致行为中度受限)和4级(高度影响生活,疼痛致行为重度受限),变量名为pain_grade。部分数据如下图。



上图中,Individual scores for each paticipant(左图)列出了每一个研究对象的情况,而Total count data (frequencies)(右图)则是对相同情况研究对象的数据进行了汇总。

二、对问题的分析

要判断慢性疼痛症状数量与疼痛等级间是否有线性变化的趋势,可以使用Mantel-Haenszel卡方检验。Mantel-Haenszel卡方检验也称线性趋势检验(Test for Linear Trend)或定序检验(Linear by Linear Test)[1]


进行Mantel-Haenszel卡方检验,需要满足以下两个假设。


假设1:其中一个变量是有序分类变量。


假设2:另一个变量是有序分类变量(或二分类变量)。


下面将详细介绍如何使用SPSS进行Mantel-Haenszel卡方检验。

三、SPSS操作

此处除了进行Mantel-Haenszel卡方检验,还要计算Pearson相关系数


1. 数据加权


如果数据是汇总格式(如上图中的Total count data),需要在进行Mantel-Haenszel卡方检验之前,先对数据加权。如果数据是个案格式(如上图中的Individual scores for each paticipant),则可以跳过“数据加权”步骤,直接进行SPSS操作。


数据加权的步骤如下:


在主界面点击Data→Weight Cases。弹出Weight Cases对话框后,点击Weight cases by,激活Frequency Variable窗口。

 


将freq变量放入Frequency Variable栏,点击OK。



2. Mantel-Haenszel卡方检验和Pearson相关系数


在主界面点击Analyze→Descriptive Statistics→Crosstabs,弹出Crosstabs对话框。将变量no_of_symptoms和pain_grade分别放入Row(s)栏和Column(s)栏。

 


点击Statistics,在弹出的对话框中,勾选Chi-square和Correlations,前者将输出Mantel-Haenszel卡方检验结果,后者将计算Pearson相关系数。点击Continue→OK。


四、结果解释

1. 统计描述


首先需要通过列联表了解数据,如下图。本例中可观察到列联表对角线附近的观测数最多。例如有1-2个症状的观测的疼痛等级为Ⅰ或Ⅱ,有5-6个症状的观测的疼痛登记为Ⅲ或Ⅳ,提示两个变量间可能存在关联。是否存在线性关联则需要Mantel-Haenszel卡方检验判断。

 


2. Mantel-Haenszel卡方检验


在Chi-Square Tests表中“Linear-by-linear Association”一行可以查看Mantel-Haenszel卡方检验结果。


 

在“Asymp. Sig. (2-sided)” 一列为Mantel-Haenszel卡方检验的P值。本例中显示为P<0.001,因此疼痛症状数量与疼痛等级间存在线性关系。


但需要注意的是,Mantel-Haenszel卡方检验只能说明存在线性关系,但不能给出这种线性相关的强度和方向。要判断线性相关的强度和方向,需要查看Pearson相关系数


3. Pearson相关系数


Pearson相关系数可以在Symmetric Measures表格中“Pearson’R”一行中查看。



结果显示,R=0.394,P(Approx. Sig.)<0.001,说明no_of_symptoms和pain_grade间存在中度正相关。

五、撰写结论

采用Mantel-Haenszel卡方检验判断疼痛症状数量与疼痛等级间是否存在线性关系。疼痛症状数量取值1-6,疼痛等级取值1-4。Mantel-Haenszel卡方检验结果显示疼痛症状数量与疼痛等级间存在线性关系,χ2=56.254,P<0.001。


Pearson相关结果显示,R=0.394, P<0.001,说明疼痛等级随疼痛症状数量增加而升高。

六、作图

目前没有推荐的图形展示Mantel-Haenszel卡方检验的结果,简单的散点图无法反映疼痛症状数量与疼痛等级间的线性关系。如下图。



因此,建议在散点图中以点的大小(散点也可变为更加醒目的颜色)来反映列联表中的不同的观测数,如下图。

 


通过上图可以观察到疼痛症状数量与疼痛等级间存在线性关系:疼痛症状数量少、疼痛等级低到疼痛症状数量多疼痛等级高,代表频数的点明显较大。


1. 散点图的SPSS操作


注意:如果做和上图类似的图,必须使用文章开始那张图所示的Total count data (frequencies)的数据格式


在主界面点击Graphs→Graphboard Template Chooser。出现Graphboard Template Chooser对话框后,选中Graphboard Template Chooser对话框左上角中的两个有序分类变量no_of_sypmtoms和pain_grade。


Graphboard Template Chooser对话框右侧显示11种图形选项,向下滑选择“Scatterplot”。



点击左上角的Detailed,在Visualization type下选择 “Scatterplot”,并在右侧X、Y内完成两个变量pain_grade和no_of_sypmtoms在坐标轴上的分配。


点击X轴后的下拉键后选择no_of_symptoms,点击X轴后的下拉键后选择pain_grade(Mantel-Haenszel卡方检验对哪个变量在X、X轴没有要求,可以随意转换。本例中,暂时将pain_grade作为因变量、no_of_symptoms作为自变量)。


点击Optional Aesthetics区域Size后的下拉键,选择变量freq。

 


点击OK,生成简单散点图:



以上散点图已经可以查看线性关系,如果为了散点图更加好看,可继续编辑。


2. 编辑散点图


双击散点图任意区域,出现Graphboard Editor对话框,点击任意一个散点后,所有点周围变成黄色,提示处于可编辑状态。



点击Graphboard Editor对话框顶部的,选择,此步骤使散点变为蓝色。



点击Graphboard Editor对话框顶部的,选择,此步骤去除了散点边框。



点击Graphboard Editor对话框顶部的,滑动改变散点大小,比如改成

 


点击Graphboard Editor对话框的关闭键,退出编辑状态,最终得到可查看线性关系的散点图。


七、拓展阅读

Cochran-Armitage趋势检验和Mantel-Haenszel卡方检验的区别是:


Cochran-Armitage趋势检验要求一个变量是有序分类变量,另一个变量是二分类变量;而Mantel-Haenszel卡方检验要求一个变量是有序分类变量,另一个变量则可以是二分类变量,也可以是有序多分类变量。


两个检验利用的统计模型不一样,一个是对数线性模型,一个是线性模型。


两种方法都能用的情况下,Cochran-Armitage趋势检验的结果与本文所述的Mantel-Haenszel卡方检验的结果近似。


尽管SPSS没有提供Cochran-Armitage趋势检验的菜单,但可以根据其原理通过其它模块来实现(详见我们之前的推送:SPSS:有序分类变量和二分类变量的Cochran-Armitage趋势检验),最终结果和SAS中的Cochran-Armitage趋势检验结果一致(SAS可以同时提供Cochran-Armitage趋势检验和Mantel-Haenszel卡方检验的结果)。


参考文献

1. Norman GR. (2014). Biostatistics: The Bare Essentials(4th Ed.). PMPH: Shelton, USA


(如果想使用文中数据进行练习,请使用电脑打开以下网址:

http://www.mediecogroup.com/method_article_detail/77/

点击左侧“数据下载”免费下载原始数据)


更多阅读

1. 文献中常看到的P for trend,到底是个啥,该怎么操作实现?

2. SPSS:有序分类变量和二分类变量的趋势检验

3. SPSS详细教程:Spearman相关分析

医咖会微信:medieco-ykh

关注医咖会,轻松学习统计学~


快加小咖个人微信(xys2016ykf),拉你进统计讨论群和众多热爱研究的小伙伴们一起交流学习。如果想进群,添加小咖时请注明“加群”二字。


点击左下角“阅读原文”,看看医咖会既往推送了哪些统计教程

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存